import { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common';
import { CreateUserDto } from 'src/user/dto/create-user.dto';

/* 

局部管道 
对创建用户时 如果客户端传递了脏数据时 做一次过滤
比如
roles:[
    {
        id:xxxx,
        name:xxx   // 不需要name  name就是脏数据 需要过滤掉
    } 
]
*/


@Injectable()
export class CreateUserPipe implements PipeTransform {
  transform(value: CreateUserDto, metadata: ArgumentMetadata) {
        if(value.roles && value.roles instanceof Array && value.roles.length >0){
            // 最起码保证有id属性
            if(value.roles[0]['id']){
                value.roles = value.roles.map((item: any) => item.id)
            }
        }
    return value;
  }
}
